package cn.iocoder.lw.module.core.enums;

import cn.iocoder.lw.framework.common.exception.ErrorCode;

/**
 * Core 错误码 Core 枚举类
 *
 * Core 系统，使用 1-002-000-000 段
 *
 * @author Lw源码
 */
public interface ErrorCodeConstants {

    // ========== 项目模块 1-002-001-000 ==========
    ErrorCode PROJECT_NOT_EXISTS = new ErrorCode(1_002_001_000, "项目不存在");

    // ========== 项目导入相关 1-002-002-000 ==========
    ErrorCode PROJECT_IMPORT_FILE_IS_EMPTY = new ErrorCode(1_002_002_000, "项目导入文件为空");
    ErrorCode PROJECT_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_002_001, "项目导入列表为空");
    ErrorCode PROJECT_IMPORT_NAME_DUPLICATE = new ErrorCode(1_002_002_002, "项目名称重复");

    // ========== 设备模块 1-002-003-000 ==========
    ErrorCode DEVICE_NOT_EXISTS = new ErrorCode(1_002_003_000, "设备不存在");
    ErrorCode DEVICE_IMPORT_FILE_IS_EMPTY = new ErrorCode(1_002_003_001, "设备导入文件为空");
    ErrorCode DEVICE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_003_002, "设备导入列表为空");
    ErrorCode DEVICE_CODE_DUPLICATE = new ErrorCode(1_002_003_003, "设备编码重复");

    // ========== 房源模块 1-002-004-000 ==========
    ErrorCode HOUSE_NOT_EXISTS = new ErrorCode(1_002_004_000, "房源不存在");
    ErrorCode HOUSE_IMPORT_FILE_IS_EMPTY = new ErrorCode(1_002_004_001, "房源导入文件为空");
    ErrorCode HOUSE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_004_002, "房源导入列表为空");
    ErrorCode HOUSE_WATER_METER_DUPLICATE = new ErrorCode(1_002_004_003, "水表编号重复");
    ErrorCode HOUSE_ELECTRICITY_METER_DUPLICATE = new ErrorCode(1_002_004_004, "电表编号重复");
    ErrorCode HOUSE_LOCK_DUPLICATE = new ErrorCode(1_002_004_005, "门锁编号重复");
    ErrorCode HOUSE_ROOM_DUPLICATE = new ErrorCode(1_002_004_006, "房号重复");

    // ========== 工单模块 1-002-005-000 ==========
    ErrorCode WORK_ORDER_NOT_EXISTS = new ErrorCode(1_002_005_000, "工单不存在");
    ErrorCode WORK_ORDER_STATUS_NOT_ALLOW_ASSIGN = new ErrorCode(1_002_005_001, "工单状态不允许派单");
    ErrorCode WORK_ORDER_STATUS_NOT_ALLOW_ACCEPT = new ErrorCode(1_002_005_002, "工单状态不允许接单");
    ErrorCode WORK_ORDER_STATUS_NOT_ALLOW_COMPLETE = new ErrorCode(1_002_005_003, "工单状态不允许完成");
    ErrorCode ASSIGNEE_NOT_EXISTS = new ErrorCode(1_002_005_004, "接单人不存在");
    ErrorCode ASSIGNEE_NOT_MATCH = new ErrorCode(1_002_005_005, "接单人信息不匹配");

    // ========== 工单评价模块 1-002-006-000 ==========
    ErrorCode EVALUATION_NOT_EXISTS = new ErrorCode(1_002_006_000, "工单评价不存在");
    ErrorCode EVALUATION_ALREADY_EXISTS = new ErrorCode(1_002_006_001, "工单已评价，不可重复评价");
    ErrorCode WORK_ORDER_NOT_COMPLETED = new ErrorCode(1_002_006_002, "工单未完成，不可评价");

    // ========== 工单报表模块 1-002-007-000 ==========
    ErrorCode WORK_ORDER_REPORT_NOT_EXISTS = new ErrorCode(1_002_007_000, "工单报表不存在");

}